package com.yxp.manager.common;

public enum ResponseCode {

	SUCCESS("0", new String[]{"操作成功"}),

	UNKNOWN_ERROR("1", new String[]{"系统繁忙"}),

	PARAMETER_ERROR("2", new String[]{"参数错误"}),

	PARAM_FORMAT_ERROR("3", new String[]{"参数格式错误"}),

	CHECK_HEADER_ERROR("4", new String[]{"请求头信息错误"}),

	USER_NO_PERMISSION("5", new String[]{"用户没有操作权限"}),

    MOBILE_FORMAT_ERROR("6", new String[]{"手机格式错误"}),

	MOBILE_ALREADY_EXIST("7", new String[]{"手机号已被使用"}),

	USER_PASSWORD_ERROR("8", new String[]{"用户名或密码错误"}),

	AUTH_FAILED_ERROR("9", new String[]{"请重新登录"}),

    VERIFY_CODE_ERROR("10", new String[]{"验证码错误"}),

	SMS_MESSAGE_ERROR("11", new String[]{"信息发送失败"}),

	METHOD_NOT_ALLOWED("12", new String[]{"不支持的请求方法"}),

	LOGIN_MCH_INFO_NOT_EXISTS("13", new String[]{"登录的代理商信息不存在"}),

	LOGIN_USER_INFO_NOT_EXISTS("14", new String[]{"登录的用户信息不存在"}),

	WX_RESPONSE_ERROR("15", new String[]{"调用微信接口异常"}),

	ALIPAY_RESPONSE_ERROR("16", new String[]{"调用支付宝接口异常"}),

	NEED_CHECK_IN_INFO_ERROR("17", new String[]{"需要授权用户信息"}),

	CANNOT_DECODE_ERROR("18", new String[]{"不能解密"}),

	USER_PASSWORD_FAIL("19", new String[]{"原密码错误"}),

	USER_PASSWORD_LENGTH_FAIL("20", new String[]{"新密码长度最小须6位且不超过20位"}),

	INVALID_QR_CODE("21", new String[]{"不能识别的二维码"}),

	UPLOAD_FILE_ERROR("22", new String[]{"处理上传文件失败"}),

	QUERY_DATE_RANGE_TOO_LARGE("23", new String[]{"查询日期选择范围过大"}),

	OPERATION_CONFLICT("24", new String[]{"操作冲突，请稍后重试"}),

	CONFIG_NOT_EXISTS("25", new String[]{"没有找到有效的配置信息"}),

	MOBILE_CONFLICT_NEED_HANDLE("26", new String[]{"该手机号已被别的账号绑定，无法提交成功"}),

	UPGRADING("27", new String[]{"系统升级中，请等待升级完成后再操作"}),

	FILE_NOT_FOUND_ERROR("28", new String[]{"找不到文件"}),

	FILE_USER_NOT_ALLOW_LOGIN_CURRENT_APP("29", new String[]{"您没有登录当前系统的权限"}),

	UPLOAD_FILE_NOT_FOUND_ERROR("22", new String[]{"没有发现上传的文件"}),

	/**
	 * ------------------------------------------------- Goods 服务异常 ----------------------------------------------------------
	 */

	ERROR_GOODS_CLASS_NOT_EXISTS("100001", new String[]{"商品分类不存在！"}),

	ERROR_REPEAT_PROFIT_RATIO("100002", new String[]{"复购分成比例配置有误"}),

	ERROR_SKU_NOT_EXISTS("100003", new String[]{"该产品不存在或不属于当前供货商"}),

	ERROR_SKU_NOT_ON_SHELF("100004", new String[]{"该产品不是上架状态"}),

	ERROR_SKU_NOT_OFF_SHELF("100005", new String[]{"该产品不是下架状态"}),

	ERROR_SKU_PENDING_AUDIT("100006", new String[]{"该产品正在上架审核"}),

	ERROR_GOODS_NOT_EXISTS("100007", new String[]{"该产品不存在"}),

	ERROR_GOODS_NOT_PENDING_AUDIT("100008", new String[]{"该产品不是待审核状态"}),
	/**
	 * ------------------------------------------------- Member 服务异常 ----------------------------------------------------------
	 */

	ERROR_BUS_USER_NOT_EXISTS("110001", new String[]{"用户不存在！"}),

	ERROR_MCH_NOT_EXISTS("110002", new String[]{"商户用户不存在!"}),

	ERROR_AUTHED_MCH_TYPE("110003", new String[]{"无效的认证类型!"}),

	ERROR_INVITE_POSTER_CREATE_ERROR("110004", new String[]{"合成分享海报失败"}),

	ERROR_BUSINESS_USER_ROLE_NOT_EXISTS("110005", new String[]{"用户的角色不存在"}),

	ERROR_PROFIT_RULE("110006", new String[]{"分成配置有误"}),

	ERROR_MSG_TEMPLATE_NOT_EXISTS("110007", new String[]{"消息模板不存在"}),

	ERROR_MSG_UMENG_API_CALL_ERROR("110008", new String[]{"系统推送消息失败"}),

	ERROR_MSG_UMENG_DEVICETOKEN_NOT_EXISTS("110009", new String[]{"友盟的deviceToken不存在"}),

	ERROR_SMS_CODE_TOO_FAST("110010", new String[]{"发送验证码过快"}),

	ERROR_SMS_CODE_TOO_FREQUENCY_ERROR("110011", new String[]{"发送验证码达到本日次数上限"}),

	ERROR_USER_OR_MOBILE_NOT_EXIST("110012", new String[]{"用户或手机号不存在"}),

	ERROR_AUTHENTICATE_ORG_NUMBER_URL_NOT_BLANK("110013", new String[]{"企业营业执照不允许为空"}),

	ERROR_AUTHENTICATE_DUPLICATE_ERROR("110014", new String[]{"已经认证过的账号不允许重复认证"}),

	ERROR_ADD_MCHINVITE_APPLY("110015", new String[]{"已经存在申请记录"}),

	ERROR_ADD_MCHINVITE_INVITE("110016", new String[]{"已经存在邀请记录"}),

	ERROR_DELETE_MCHINVITE_INVITE("110017", new String[]{"记录不存在"}),

	ERROR_UPDATE_MCH_OP("110018", new String[]{"已处理"}),

	ERROR_UPDATE_MCH_OP_EXISTS("110019", new String[]{"已存在上级机构"}),

	ERROR_UPDATE_MCH_TYPE("110020", new String[]{"申请者身份不正确"}),

	ERROR_BANK_CARD_NOT_EXISTS("110021", new String[]{"银行卡不存在"}),

	ERROR_BANK_AUTHENTICATION_ERROR("110022", new String[]{"姓名或身份证号错误，请重新输入！"}),

	ERROR_BANK_PRIVATE_CARD_EXISTS("110023", new String[]{"只允许绑定一张对私银行卡或支付宝"}),

	ERROR_ADDRESS_NOT_EXISTS("110024", new String[]{"收货地址不存在"}),

	ERROR_UPDATE_DEFAULT_ADDRESS_FAIL("110025", new String[]{"修改默认地址失败"}),

	ERROR_DELETE_ADDRESS_FAIL("110026", new String[]{"删除收货地址失败"}),

	ERROR_USER_PASSWORD_INITIALLED("110027", new String[]{"您已经设置过密码，请通过其他方式重置密码"}),

	ERROR_ANCHOR_ALLOCATE_RATIO_NOT_CONFIG("110028", new String[]{"未配置主播分成比例"}),

	ERROR_STATE_NOT_WAITING_AUDIT("110029", new String[]{"只允许审核待审核状态的商户资料"}),

	ERROR_MCH_NOT_AUTHENTICATE("110030", new String[]{"账户未认证，不能操作"}),

	ERROR_CHANGE_AUTHENTICATE_NOT_ALLOW_MOD_MCHTYPE("110031", new String[]{"资质变更不允许修改认证的类型"}),

	ERROR_AUTHOR_AUTHENTICATE("110032", new String[]{"主播未认证"}),


	/**
	 * ------------------------------------------------- User 服务异常 ----------------------------------------------------------
	 */

	ERROR_USER_EXISTED("120001", new String[]{"用户已存在"}),

	ERROR_USER_MOBILE_NOT_EXIST("120002", new String[]{"用户手机号不存在"}),

	ERROR_USER_NOT_EXIST("120003", new String[]{"用户不存在"}),

	ERROR_USER_ORDER_NOT_EXISTED("120004", new String[]{"用户订单不存在"}),

	ERROR_USER_MESSAGE_NOT_EXISTED("120005", new String[]{"消息不存在"}),

	ERROR_USER_ORDER_DETAIL_NOT_EXISTED("120006", new String[]{"用户订单商品不存在"}),

	ERROR_USER_ORDER_REFUND_NOT_EXISTED("120007", new String[]{"用户退款订单不存在"}),

	ERROR_USER_ORDER_REFUND_DETAIL_NOT_EXISTED("120008", new String[]{"用户退款订单商品不存在"}),

	/**
	 * ------------------------------------------------- Money 服务异常 ----------------------------------------------------------
	 */

	ERROR_INPUT_MONEY("130001", new String[]{"输入的金额错误"}),

	ERROR_USER_NOT_QUERY_PERMISSION("130002", new String[]{"当前用户无查询权限"}),

	ERROR_WITHDRAW_ACCOUNT_FREEZE("130003", new String[]{"没有提现权限，请联系4000128000"}),

	ERROR_WITHDRAW_FAILURE("130004", new String[]{"提现失败"}),

	ERROR_WITHDRAW_MONEY_NOT_ALLOW("130005", new String[]{"提现的金额必须在单次提现允许的最大和最小范围内"}),

	ERROR_WITHDRAW__REALMONEY_MUST_GT_ZERO("130006", new String[]{"提现金额扣除手续费和税后必须大于0"}),

	ERROR_NOT_MCH_BALANCE_ACCOUNT("130007", new String[]{"该买家代理商没有余额账号"}),

	ERROR_WITHDRAW_MONEY_MUST_LESSEQUAL_CANWITHDRAW("130008", new String[]{"提现金额超过可提现余额"}),

	ERROR_WITHDRAW_MONEY_THDRAWMUST_LESSEQUAL_REALBALANCE("130009", new String[]{"提现金额超过余额加未结算金额之和"}),

	ERROR_PAY_BALANCE_NOTENOUGH("130010", new String[]{"余额不足"}),

	ERROR_NOT_MCH_BALANCE_ACCOUT("130011", new String[]{"该买家代理商没有余额账号"}),

	ERROR_MCH_FREEZE_LT_PAYMONEY("130012", new String[]{"冻结金额小于应付金额"}),

	ERROR_WITHDRAW_STATE_NOT_WAITING("130013", new String[]{"只可以审核等待审核状态的提现单"}),

	/**
	 * ------------------------------------------------- task 服务异常 ----------------------------------------------------------
	 */

	ERROR_SETTLEMENT_MONEY_ERROR("140001", new String[]{"结算金额和订单金额不一致"}),
	ERROR_ORDERDETAIL_ISNULL("140002", new String[]{"购买商品详情为空"}),
	ERROR_COOPERATION_NOT_FOUND("140003", new String[]{"找不到合作"}),
	ERROR_COOPERATION_GOODS_NOT_EXIST("140004", new String[]{"合作产品不存在"}),
	ERROR_ORDER_DISTRIBUTIONS_NOT_EXIST("140005", new String[]{"订单商品分润不存在"}),


	/**
	 * ------------------------------------------------- delivery 服务异常 ----------------------------------------------------------
	 */

	ERROR_DELIVERY_EXPRESS_ORDER_ERROR("150001", new String[]{"快递下单失败"}),
	ERROR_DELIVERY_PROJECT_STATE_ERROR("150002", new String[]{"合作项目状态不是待发货"}),
	ERROR_DELIVERY_GOODS_ERROR("150003", new String[]{"合作商品不存在"}),

	/**
	 * ------------------------------------------------- Cooperation 服务异常 ----------------------------------------------------------
	 */

	ERROR_COOPERATION_SUMMIT_GOODS_NO_MCH("160001", new String[]{"请选择主播"}),

	ERROR_COOPERATION_SUMMIT_ADDRESS_NOT_EXIST("160002", new String[]{"地址不存在"}),

	ERROR_COOPERATION_SUMMIT_SKU_IS_NULL("160003", new String[]{"请选择商品"}),

	ERROR_COOPERATION_ANCHOR_NOT_EXIST("160004", new String[]{"项目下找不到该主播"}),

	ERROR_COOPERATION_NOT_EXIST("160005", new String[]{"找不到该项目"}),

	ERROR_COOPERATION_NO_PERMISSION("160006", new String[]{"不是你发起的项目，不能操作"}),

	ERROR_COOPERATION_NOT_PENDING("160007", new String[]{"项目不是待确认状态，不能操作"}),

	ERROR_COOPERATION_DELIVERY_NOT_EXIST("160008", new String[]{"发货单不存在"}),

	ERROR_COOPERATION_ANCHOR_SKU_EXIST("160009", new String[]{"指定主播和产品已存在合作，不能提交"}),

	ERROR_COOPERATION_ANCHOR_SKU_LINK_NOT_EXIST("160010", new String[]{"找不到主播的合作商品"}),

	
	OTHER_RESPONSE_ERROR("分割线", new String[]{"======================================================================================="});

    private final String code;
	private final String[] desc;

	ResponseCode(String code, String[] desc) {
		this.code = code;
		this.desc = desc;
	}

	public String getCode() {
		return code;
	}

	public String getDesc(int locale) {
		if (desc != null && desc.length - 1 >= locale) {
			return desc[locale];
		} else if(desc != null && desc.length > 0) {
			return desc[0];
		} else {
			return "";
		}
	}

	public static ResponseCode getResCode(String status) {
		for (ResponseCode value : ResponseCode.values()) {
			if (value.getCode().equals(status)) {
				return value;
			}
		}
		return ResponseCode.UNKNOWN_ERROR;
	}
}